/**
 * 
 */
package com.yidu.drug.action;

import java.util.List;
import java.util.Map;

import javax.annotation.Resource;
import javax.servlet.http.HttpSession;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.yidu.drug.common.Message;
import com.yidu.drug.model.DrugModel;
import com.yidu.drug.model.DrugTypeModel;
import com.yidu.drug.service.DrugModelService;
import com.yidu.drug.service.DrugTypeService;

/**
 * 类的描述 药品的Action
 * @author 王志伟
 * @date 2018年8月13日 上午11:45:07 
 * @version 1.0
 */
@Controller
@RequestMapping("/DrugModel")
public class DrugModelAction {
	
	//药品Service
	@Resource
	private DrugModelService drugModelService;
	
	//药品类型Service
	@Resource
	private DrugTypeService drugTypeService;
	
	//消息类
	Message m=new Message();
	/**
	 * 查询药品表的一些要显示在订单详细表的数据
	 * yuanwei
	 * @param limit 行数
	 * @param page 页数
	 * @param drugName 药品名称
	 * @param dtId 业务ID
	 * @param drugBarCode 药品编码
	 * @param drugPinyin 药品简称
	 * @param priceMin 药品价格最小值
	 * @param priceMax 药品价格最大值
	 * @return 查询的数据Map集合
	 */
	@RequestMapping("/dindanfindAll")
	@ResponseBody
	public Map<String, Object> dindanfindAll(String limit, String page,String drugName,String dtId,String drugBarCode,String drugPinyin,String priceMin,String priceMax){
		return drugModelService.dindanfindAll(limit, page, drugName, dtId, drugBarCode, drugPinyin, priceMin, priceMax);
	}
	
	/**
	 * 查询药品
	 * @param limit 行数
	 * @param page 页数
	 * @param drugName 药品名
	 * @return 查询的药品MAP集合
	 */
	@RequestMapping("/findAll")
	@ResponseBody
	public Map<String, Object> findAll(String limit, String page,String drugName,String dtId,String drugBarCode,String drugPinyin,String priceMin,String priceMax){
		return drugModelService.findAll(limit,page,drugName,dtId,drugBarCode,drugPinyin,priceMin,priceMax);
	}
	
	/**
	 * 根据分公司id查询库存中已存在的药品   祝浪
	 * @param limit 行数
	 * @param page 页数
	 * @param drugName 药品名
	 * @return map集合
	 */
	@RequestMapping("/findFilIdAll")
	@ResponseBody
	public Map<String, Object> findFilIdAll(HttpSession session,String limit, String page,String drugName,String dtId,String drugBarCode,String drugPinyin,String priceMin,String priceMax){
		return drugModelService.findFilIdAll(session,limit,page,drugName,dtId,drugBarCode,drugPinyin,priceMin,priceMax);
	}
	
	/**
	 * 查询类型所有
	 * @return 查询的List集合
	 */
	@RequestMapping("/findAllType")
	@ResponseBody
	public List<DrugTypeModel> findType(){
		//List接收查询的药品类型
		List<DrugTypeModel> list=drugTypeService.findAllType();
		return list;
	}
	
	/**
	 * 增加的方法
	 * @param record 药品类模型
	 * @return 增加的行数
	 */
	@RequestMapping("/add")
	@ResponseBody
	public Message insertSelective(DrugModel record){
		m.setNum(drugModelService.insertSelective(record));
		return m;
	}
	/**
	 * 根据ID删除
	 * @param drugId 药品ID
	 * @return 返回消息类
	 */
	@RequestMapping("delete")
	@ResponseBody
	public Message delete(String drugId){
		//接收删除的行数
		int count=drugModelService.deleteByPrimaryKey(drugId);
		//如果行数大于0 就存入OK
		if(count>0){
			m.setMsg("ok");
		}else if(count==-1){//如果行数等于-1 就存入no
			m.setMsg("no");
		}else{
			m.setMsg("nos");//否则存入nos
		}
		return m;
	}
	
	/**
	 * 根据药品ID查询
	 * @param drugId 药品ID
	 * @return 查询的药品对象
	 */
	@RequestMapping("findById")
	@ResponseBody
	public DrugModel findById(String drugId){
		//根据药品ID查询得到对象返回
		return drugModelService.selectByPrimaryKey(drugId);
	}
	
	/**
	 * 根据药品类修改
	 * @param drug 药品类模型
	 * @return 修改的行数
	 */
	@RequestMapping("update")
	@ResponseBody
	public Message update(DrugModel drug){
		//接收修改的行数
		int count =drugModelService.updateByPrimaryKeySelective(drug);
		//存入消息类中
		m.setNum(count);
		return m;
	}
}
